package com.ruoyi.businessSku.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 业务商品管理对象 wdmf_business_sku
 *
 * @author ruoyi
 * @date 2025-08-02
 */
public class BusinessSku extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long skuId;

    /** 机构ID */
    @Excel(name = "机构ID")
    private Long organizationId;

    /** 业务名称（如党费/捐款） */
    @Excel(name = "业务名称", readConverterExp = "如=党费/捐款")
    private String businessName;

    /** 展示图路径 */
    @Excel(name = "展示图路径")
    private String image;

    /** 信息配置（JSON格式，需录入的字段名称 */
    @Excel(name = "信息配置", readConverterExp = "信息配置（JSON格式，需录入的字段名称")
    private String inputConfig;

    /** 金额类型（0=固定金额 1=自定义金额） */
    @Excel(name = "金额类型", readConverterExp = "0==固定金额,1==自定义金额")
    private String priceType;

    /** 固定金额值（price_type=0时生效） */
    @Excel(name = "固定金额值", readConverterExp = "p=rice_type=0时生效")
    private BigDecimal fixedPrice;

    /** 支持的支付方式（0=微信,1=支付宝） */
    @Excel(name = "支持的支付方式", readConverterExp = "0==微信,1=支付宝")
    private String payTypeConfig;

    /** 展示顺序（越大越靠前） */
    @Excel(name = "展示顺序", readConverterExp = "越=大越靠前")
    private Long sort;

    /** 商品状态（0=上架 1=下架） */
    @Excel(name = "商品状态", readConverterExp = "0==上架,1==下架")
    private String status;

    /** 删除标志（0存在 2删除） */
    private String delFlag;

    /** 版本号（乐观锁） */
    @Excel(name = "版本号", readConverterExp = "乐=观锁")
    private Long version;

    /** 自定义金额最小值 */
    @Excel(name = "自定义金额最小值")
    private BigDecimal customMin;

    /** 自定义金额最大值 */
    @Excel(name = "自定义金额最大值")
    private BigDecimal customMax;

    /** 二维码基础地址 */
    @Excel(name = "二维码基础地址")
    private String qrPrefix;

    public void setSkuId(Long skuId)
    {
        this.skuId = skuId;
    }

    public Long getSkuId()
    {
        return skuId;
    }

    public void setOrganizationId(Long organizationId)
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId()
    {
        return organizationId;
    }

    public void setBusinessName(String businessName)
    {
        this.businessName = businessName;
    }

    public String getBusinessName()
    {
        return businessName;
    }

    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }

    public void setInputConfig(String inputConfig)
    {
        this.inputConfig = inputConfig;
    }

    public String getInputConfig()
    {
        return inputConfig;
    }

    public void setPriceType(String priceType)
    {
        this.priceType = priceType;
    }

    public String getPriceType()
    {
        return priceType;
    }

    public void setFixedPrice(BigDecimal fixedPrice)
    {
        this.fixedPrice = fixedPrice;
    }

    public BigDecimal getFixedPrice()
    {
        return fixedPrice;
    }

    public void setPayTypeConfig(String payTypeConfig)
    {
        this.payTypeConfig = payTypeConfig;
    }

    public String getPayTypeConfig()
    {
        return payTypeConfig;
    }

    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    public void setCustomMin(BigDecimal customMin)
    {
        this.customMin = customMin;
    }

    public BigDecimal getCustomMin()
    {
        return customMin;
    }

    public void setCustomMax(BigDecimal customMax)
    {
        this.customMax = customMax;
    }

    public BigDecimal getCustomMax()
    {
        return customMax;
    }

    public void setQrPrefix(String qrPrefix)
    {
        this.qrPrefix = qrPrefix;
    }

    public String getQrPrefix()
    {
        return qrPrefix;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("skuId", getSkuId())
                .append("organizationId", getOrganizationId())
                .append("businessName", getBusinessName())
                .append("image", getImage())
                .append("inputConfig", getInputConfig())
                .append("priceType", getPriceType())
                .append("fixedPrice", getFixedPrice())
                .append("payTypeConfig", getPayTypeConfig())
                .append("sort", getSort())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("version", getVersion())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .append("customMin", getCustomMin())
                .append("customMax", getCustomMax())
                .append("qrPrefix", getQrPrefix())
                .toString();
    }
}
